JAAT: A Practical Alias Analysis Tool for Java Programs

نویسندگان

  • Fumiaki OHATA
  • Yusuke YAMANAKA
  • Kazuhiro KONDO
  • Katsuro INOUE
چکیده

When an expression refers to a memory location that is referred to by another expression, we say that there is an alias relation between those expressions. Alias analysis, i.e, the extraction of such relations is essential for efficient maintenance of object-oriented programs. Although many researchers have already proposed analysis methods and implemented prototype tools for object-oriented programs, difficulties still remain in applying such methods to practical tools in the sense of precision, extensibility, and scalability. Focusing mainly on practical implementation, we propose an alias analysis method for object-oriented programs. This method employs a two-phase, on-demand, instance-based, and extensible algorithm. We have implemented the proposed method as JAAT. JAAT can analyze large programs such as Java Developer’s Kit (JDK) class library. We have applied JAAT to various large Java programs and confirmed JAAT’s performance.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

JAAT: Java Alias Analysis Tool for Maintenance Activities

Alias analysis is a method for extracting sets of expressions which may possibly refer to the same memory locations during program execution. Although many researchers have already proposed analysis methods for the purpose of program optimization, difficulties still remain in applying such methods to practical software engineering tools in the sense of precision, extensibility and scalability. ...

متن کامل

Alias Analysis with bddbddb

Context-sensitive inclusion-based alias analysis is very precise but also computationally expensive. Whaley and Lam [5] recently proposed an approach based on Binary Decision Diagrams that scales to realistic Java programs. This report summarizes the approach, describes how the tool bddbddb that implements the analysis is used, and discusses how it can be employed to develop derived analyses ba...

متن کامل

Alias Analysis for Object-Oriented Programs

We present a high-level survey of state-of-the-art alias analyses for object-oriented programs, based on a years-long effort developing industrial-strength static analyses for Java. We first present common variants of points-to analysis, including a discussion of key implementation techniques. We then describe flow-sensitive techniques based on tracking of access paths, which can yield greater ...

متن کامل

Inter-procedural Analysis for Parallelization of Java Programs

Parallelization of Java programs is a complex task due to inheritance, dynamic method dispatching and aliases. Our research [2] aims to perform static analysis of Java programs in order to identify implicit parallelism. In this paper, we discuss rst the inter-procedural analysis technique we are studying and implementing to characterize data-dependency. And then we enhance this framework with t...

متن کامل

Practical Static Ownership Inference

There are many proposals for ownership type systems designed to control aliasing in object-oriented programs. Most systems require significant annotation effort and therefore it may be difficult to adopt these systems in software practice. Ownership inference has received less attention, while it is an important problem because it could ease the annotation effort and facilitate application of o...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001